#!/usr/bin/python
# -*- coding:utf-8 -*-
# @author  : micah
# @time    :  
# @function: 
# @version :


print('*****多继承使用类名.__init__发生的状态*****')


class Parent:
    def __init__(self, name):
        print('parent的init开始被调用')
        self.name = name
        print('parent的init结束调用')


class Child1(Parent):
    def __init__(self, name, age):
        print('child1的init开始被调用')
        Parent.__init__(self, name)  # 通过父类名调用父类的构造函数
        self.age = age
        print('child1的init结束调用')


class Child2(Parent):
    def __init__(self, name, sex):
        print('child2的init开始被调用')
        Parent.__init__(self, name)  # 通过父类名调用父类的构造函数
        self.sex = sex
        print('child2的init结束调用')


class Grandchild(Child1, Child2):
    def __init__(self, name, age, sex):
        print('grandchild的init开始被调用')
        Child1.__init__(self, name, age)  # 单独调用父类的初始化方法
        Child2.__init__(self, name, sex)
        print('grandchild的init结束调用')


gs = Grandchild('micah', 18, 'male')
print('姓名：', gs.name)
print('年龄：', gs.age)
print('性别：', gs.sex)

print('*****多继承使用类名.__init__发生的状态*****\n\n')
